cperl-mode.el: Update for the current Perl version 5.040
authorHarald Jörg <haj@posteo.de>
Mon, 10 Jun 2024 10:19:04 +0000 (12:19 +0200)
committerHarald Jörg <haj@posteo.de>
Mon, 10 Jun 2024 10:22:13 +0000 (12:22 +0200)
commit060c48435f49eb03019cc9eb7f1657f756f56ceb
tree27c409966d3f369e942ee5e50cdaf27f52732819
parent5416889873219988ce9e023eaf448fdbe691d304
cperl-mode.el: Update for the current Perl version 5.040

* etc/NEWS: Announce new features of cperl-mode.

* lisp/progmodes/cperl-mode.el (cperl-menu): Add toggle for extra
paired delimiters.
(defconst): new rx expressions `cperl--sub-name-generated-rx' and
`cperl--field-declaration-rx'
(cperl--imenu-entries-rx): Use the new expressions
(cperl--extra-paired-delimiters): New variable holding the paired
delimiters for Perl 5.36 and newer
(cperl-imenu-sub-keywords): Add autogenerated methods to imenu
(cperl-init-faces): Add the __CLASS__ token, builtin constants,
and attributes for field declarations.
(cperl-short-docs): Add __CLASS__ to one-line docs.
(cperl-extra-paired-delimiters-mode): new minor mode to handle
non-ASCII paired delimiters.

* test/lisp/progmodes/cperl-mode-tests.el
(cperl-test-fontify-builtin-constants): new test.
(cperl-test-fontify-class): New test clauses for attributes.
(cperl-test-field-declaration-rx): new test.
(cperl-test-autogenerated-reader-rx): new unit test for the rx
expression.
(cperl-test-extra-delimiters): new test.
(cperl-test-imenu-index): new clauses for imenu capture of
autogenerated methods.

* test/lisp/progmodes/cperl-mode-resources/grammar.pl: Add
examples for Perl 5.40 syntax.

* test/lisp/progmodes/cperl-mode-resources/extra-delimiters.pl:
New resource for non-ASCII paired delimiters.
etc/NEWS
lisp/progmodes/cperl-mode.el
test/lisp/progmodes/cperl-mode-resources/extra-delimiters.pl [new file with mode: 0644]
test/lisp/progmodes/cperl-mode-resources/grammar.pl
test/lisp/progmodes/cperl-mode-resources/perl-class.pl
test/lisp/progmodes/cperl-mode-tests.el